﻿/*
#**************************************************************************
#  openSIS is a student information system for public and non-public 
#  schools from Open Solutions for Education, Inc. web: www.os4ed.com
#
#  openSIS is  web-based, open source, and comes packed with features that 
#  include student demographic info, scheduling, grade book, attendance, 
#  report cards, eligibility, transcripts, parent portal, 
#  student portal and more.   
#
#  Visit the openSIS web site at http://www.opensis.com to learn more.
#  If you have question regarding this system or the license, please send 
#  an email to info@os4ed.com.
#
#  This program is released under the terms of the GNU General Public License  
#  as  published by the Free Software Foundation, version 2 of the License. 
#  See license.txt.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#**************************************************************************** 

*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;
using System.Data;

namespace WcfService1
{
    [ServiceContract]
    public interface IopenSISServiceStudent
    {
        [OperationContract]
         DataTable GetSchoolSpecificCategoryStudentBusiness(string SchoolId, string LanguageTool);
      

        [OperationContract]
        int StudentAddStudentBusiness(int SchoolID);




        [OperationContract]
         System.Data.DataTable populaterepeaterStudentBusiness(int ExtrafieldId);

        [OperationContract]
         void SaveCustomDataStudentBusiness(string CustomfieldValue,int StudentID,int ExtrafieldId);



        [OperationContract]
         DataTable populatecalenderStudentBusiness(int SchoolID);

        [OperationContract]
        DataTable populateLanguageStudentBusiness();
        [OperationContract]
        DataTable populateEthnicityStudentBusiness(string LangTool);
        [OperationContract]
        DataTable populatedynamicddlStudentBusiness(int ExtrafieldId);
        [OperationContract]
        DataTable populatedynamicrbtnStudentBusiness(int ExtrafieldId);


        [OperationContract]
        DataTable populatedynamicrchkStudentBusiness(int ExtrafieldId);

        [OperationContract]
        DataTable PopulateGradeStudentBusiness();

        [OperationContract]
        DataTable PopulateEnrollCdnStudentBusiness();
        [OperationContract]
        DataTable propulateSchoolStudentBusiness();



        [OperationContract]
        string GetSchoolNamefromIDStudentBusiness(int SchoolID);
        [OperationContract]
        int getStudentIdStudentBusiness();

        [OperationContract]//DropDown
        DataTable PopulateGenderStudentBusiness();
        [OperationContract]
        void SavecontrolorderStudentBusiness(string FieldName,int StudentID,int ExtrafieldId,string CustomfieldValue,int SchoolID);
        [OperationContract]
        System.Data.DataTable GetNextCategoryStudentBusiness(int SchoolID, int CatId);

        [OperationContract]
        System.Data.DataTable GetPrevCategoryStudentBusiness(int SchoolID, int CatId);
      
        [OperationContract]
        System.Data.DataTable GetFieldsByCategoryStudentBusiness(int SchoolID, int CatId, string langtool);
        [OperationContract]
        System.Data.DataTable GetFirstCategoryStudentBusiness(int SchoolID);
        [OperationContract]
        int CheckAddressFieldStudentBusiness(int FieldId);
        [OperationContract]
        System.Data.DataTable GetAddressFieldsByFieldIdStudentBusiness(int SchoolID, int FieldId, string LangTool);


       

        [OperationContract]
        int AddStudentStudentBusiness();
        [OperationContract]
        void AddStudentdataStudentBusiness();
        [OperationContract]
        System.Data.DataTable PopulateAdditionalFieldStudentBusiness(int SchoolID, int HomeFieldId,string Langtool);
        [OperationContract]
        void InsertIntoStudentDetailsStudentBusiness(int StudentID,string FieldCategory,int FieldId,string Value ,int CatId );
        [OperationContract]
        DataTable PopulateContactRelationshipStudentBusiness();
     //   [OperationContract]//radiobutton
       // DataTable PopulateYesNoStudentBusiness();


        [OperationContract]
        void InsertIntoStudentAdddressDetailsStudentBusiness(int StudentID,int AddId,string Value,int FieldId,int CatId ,int SchoolID);

        [OperationContract]
        void InsertIntoStudentAdditionalContactStudentBusiness( int CatId,int StudentID,int FieldId,string Value,int Set,int SchoolID,int ContSetId);


        [OperationContract]
        void SaveStudentPhotoStudentBusiness(int StudentID,int SchoolID,string PhotoUrl);


        [OperationContract]
        int CountSetFieldsStudentBusiness(int StudentID, int SchoolID);


        [OperationContract]
        System.Data.DataTable GetVaccinationFieldsStudentBusiness(int SchoolID,int CatId );

        [OperationContract]
        System.Data.DataTable GetMedicalInfoFieldsStudentBusiness(int SchoolID,int CatId );
        [OperationContract]
        void InsertIntoStudentMedicalInformationDetailsStudentBusiness(int StudentID,int SchoolID,string Value,int MedInfoId);
         [OperationContract]
         void InsertIntoStudentImmunizationDetailsStudentBusiness(int MedInfoType,string MedInfoDate,string Comments,int SchoolID,int StudentID,int FieldId);
         [OperationContract]
         void InsertIntoStudentNurseVisitRecordDetailsStudentBusiness(string NurseVisitDate,string NurseVisitTimeIn,string NurseVisitTimeOut,string NurseVisitReason,string NurseVisitResult,string Comments,int StudentID,int SchoolID);

         [OperationContract]
         void InsertIntoStudentVaccinationRecordDetailsStudentBusiness(int StudentID ,int SchoolID,string Value,int FieldId);

         [OperationContract]
         void InsertIntoStudentMedicalAlertStudentBusiness(int StudentID,int MedAlertActId,string Value,int LifeThreatInd);


         [OperationContract]
         void InsertEnrollmentStudentBusiness( string EnrAttStartdate,string EnrExitDate,int StudentID,int SchoolID,int EnrSchyrId,string EnrExitCode,string EnrExitreason,string EnrStartCondition);

         [OperationContract]
         DataTable GetstudentschoolenrollStudentBusiness(int StudentID,int SchoolID);

         [OperationContract]
         void UpdateEnrollmentStudentBusiness(string EnrAttStartdate,string EnrEndDate,string EnrExitCode,string EnrExitreason,string EnrStartCondition,int EnrollId);

         [OperationContract]
         void DeleteEnrollmentStudentBusiness(int EnrollId);

         [OperationContract]
         System.Data.DataTable PopulateSpecialFieldStudentBusiness(int SchoolID,string Langtool);

         [OperationContract]
         System.Data.DataTable PopulateGiftFieldStudentBusiness(int SchoolID,string Langtool);


         [OperationContract]
         DataTable PopulateEvaluationTypeStudentBusiness();
         [OperationContract]
         DataTable PopulateDisabilitiesStudentBusiness();
         [OperationContract]
         DataTable PopulateGiftedCategoryStudentBusiness();
         [OperationContract]
         DataTable PopulateSpecialEduStatusStudentBusiness();
         [OperationContract]
         DataTable PopulateSpecialEduExistStatusStudentBusiness();
         [OperationContract]
         void InsertSpecialValueStudentBusiness(int FieldId,int CatId,int StudentID,string Value,int SchoolID);
         [OperationContract]
         void InsertgiftedValueStudentBusiness(int FieldId,int CatId,string Value,int SchoolID,int StudentID);

         [OperationContract]
         System.Data.DataTable GetVaccinationFieldsValue(int SchoolID, int StubentID);

    }
}